package com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.service;

import com.alibaba.fastjson.JSONObject;
import com.css.fxfzfxqh.modules.buildingKilometerGrid.exceptions.BizException;
import com.css.fxfzfxqh.modules.buildings.calculationTasks.entity.CalculationTasks;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.entity.CasualtiesDE;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.entity.Statistics;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.param.CasualtiesDECalculationParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.param.SysDataVersionPageParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.vo.EvaluateViewVO;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessEdQh;
import com.css.fxfzfxqh.modules.singleIndexRiskZoning.model.entity.FxqhAssessEdQhResult;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface CasualtiesDEService1 {
    void addAssess(CasualtiesDE param) throws Exception;

    EvaluateViewVO findById(String id);

    void upDateAssess(CasualtiesDE param);

    String getCode(CasualtiesDE param);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    //void calculation1(CasualtiesDECalculation param);

    String reportImport(InputStream inputStream, String id) throws Exception;

    Map<String, Object> queryCalculation(Integer curPage, Integer pageSize, String seismicInputMode, String id, String condition, String casualties, String time);

    void exportData(HttpServletResponse response, CasualtiesDECalculationParam param);

    void updateCorrectionValue(String id, BigDecimal correctionValue,String time,String casualties);

    void calculation(String assessId,String seismicInputMode) throws Exception;

    void calculationIntensity(String intensityVersion,String assessId);

    List<FxqhAssessEdQhResult> doZoning(FxqhAssessEdQh entity) throws UnsupportedEncodingException, BizException;
    List<FxqhAssessEdQhResult> doZoning(CalculationTasks task) throws UnsupportedEncodingException, BizException;


    JSONObject versionPage(SysDataVersionPageParam param) throws BizException;

    List<Statistics> statistics(String seismicInputMode, String taskId, String condition, String casualties, String time) throws Exception;
}
